package io.gitee.macxiang.sql.wapper;

import java.util.ArrayList;
import java.util.List;

import io.gitee.macxiang.utils.Datas;

public class BaseSet {
  public final List<String> list = new ArrayList<>();

  /** 生成SQL的SET语句
  * @return SET语句; 如果条件为空则返回 null
  */
  public String getSql(String tableName) {
    String ret = String.join(", ", list)
        .replaceAll("^\\s*\\b(AND|OR)\\b\\s*", "") // 删除 首个 条件逻辑
    // .replaceAll("#tableName#", tableName) // 替换表名
    // .replaceAll("`id`", "id") // id 不能以 `id` 方式查询.否则报错
    ;
    if (Datas.isEmpty(ret)) {
      ret = "";
    }
    if (tableName != null) {
      ret = ret.replaceAll("#tableName#", tableName); // 替换表名
    }
    return ret;
  }

  /** 清空所有 设置 */
  public void clear() {
    list.clear();
  }

}
